<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:c="http://java.sun.com/jsp/jstl/core">

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <f:view>
                <h:form>                  
                    <h:panelGrid style="width: 650px;margin: 0px auto">                                              
                        <p:commandButton id="btnNuevaCajaChica" action="#{MBCajaChica.nuevo()}" 
                                         icon="ui-icon-plus" value="AGREGAR CAJA CHICA" ajax="false"/>                                              
                    </h:panelGrid>                   
                </h:form>

                <h:form id="formulario">                                    
                    <p:panel id="pnlConsultaCajaChica" header="CONSULTAR CAJA CHICA" toggleable="true"
                             style="width: 650px;margin: 0 auto" widgetVar="buscar" collapsed="#{BKCajaChica.mostrarListaCajaChica ne null}">                      			
                        <p:panelGrid style="width: 100%" id="panelConsultaCajaChica">

                            <p:row>
                                <p:column>
                                    <h:outputLabel value="SEDE: " class="lblBusqueda" />
                                </p:column>      
                                <c:if test="${BKSession.usuario.idRol.nombre eq 'ADMINISTRADOR'}">
                                    <p:column>                                    
                                        <p:selectOneMenu style="width: 200px" 
                                                         value="#{BKCajaChica.idSede}"
                                                         disabled="#{BKCajaChica.mostrarListaSedes eq null?'true':'false'}"> 
                                            <f:selectItem itemLabel="TODOS" itemValue="0" /> 
                                            <f:selectItems value="#{BKCajaChica.mostrarListaSedes}" 
                                                           var="sede" itemLabel="#{sede.nombre}" itemValue="#{sede.nombre}"/>
                                        </p:selectOneMenu>                                                                     
                                    </p:column>
                                </c:if> 
                                <c:if test="${BKSession.usuario.idRol.nombre ne 'ADMINISTRADOR'}">
                                    <p:column>
                                        <p:inputText value="#{BKCajaChica.cajaChicaBusqueda.idSede.direccion}" 
                                                     style="width: 100%" disabled="true">                                        
                                        </p:inputText>                                        
                                    </p:column>
                                </c:if>    
                                <p:column>
                                    <h:outputLabel value="CODIGO DE CAJA: " class="lblBusqueda" />
                                </p:column>	                                  
                                <p:column >
                                    <p:inputText value="#{BKCajaChica.cajaChicaBusqueda.nombre}" 
                                                 style="width: 100%" />
                                    <br/>
                                    <span class="formatComment">Ejemplo: TIEN-2013-001</span>
                                </p:column>   
                            </p:row>
                            <p:row>
                                <p:column>
                                    <h:outputLabel value="NUMERO DE CHEQUE " class="lblBusqueda" />
                                </p:column>	                                  
                                <p:column >
                                    <p:inputText value="#{BKCajaChica.cajaChicaBusqueda.numeroDocumento}" 
                                                 style="width: 100%" />
                                </p:column>          
                                <p:column>
                                    <b><h:outputLabel id="lblEstado" value="ESTADO: " class="lblBusqueda" /></b>
                                </p:column>	                            
                                <p:column>
                                    <p:selectOneMenu id="cbxEstado" style="width: 200px"
                                                     value="#{BKCajaChica.cajaChicaBusqueda.estadoCaja}">
                                        <f:selectItem itemLabel="TODOS" itemValue="" /> 
                                        <f:selectItems value="#{BKCajaChica.listaEstados}" var="estado"
                                                       itemLabel="#{estado}" itemValue="#{estado.substring(0,1)}" />                                                       
                                    </p:selectOneMenu>
                                </p:column>  
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputLabel id="lblFechaInicio" value="DEL: " class="lblBusqueda"/>
                                </p:column>
                                <p:column>
                                    <p:calendar id="txtFechaInicio" locale="es" size="19"
                                                value="#{BKCajaChica.fechaInicio}" 
                                                pattern="dd/MM/yyyy" 
                                                maxdate="#{BKCajaChica.fechaFinal}"
                                                showOn="button" showButtonPanel="true" navigator="true" >
                                        <p:ajax event="dateSelect" process="@this" update="txtFechaFinal" />
                                    </p:calendar>
                                </p:column>
                                <p:column>
                                    <h:outputLabel id="lblFechaFinal" value="AL: " class="lblBusqueda"/>
                                </p:column>
                                <p:column>
                                    <p:calendar id="txtFechaFinal" locale="es" size="19"
                                                value="#{BKCajaChica.fechaFinal}" 
                                                pattern="dd/MM/yyyy"
                                                mindate="#{BKCajaChica.fechaInicio}"
                                                showOn="button" showButtonPanel="true" navigator="true" >
                                        <p:ajax event="dateSelect" process="@this" update="txtFechaInicio"/>
                                    </p:calendar>
                                </p:column> 
                            </p:row>  
                            <p:row>
                                <p:column colspan="4">
                                    <p:commandButton id="btnBuscarCajaChica" value="BUSCAR"  
                                                     icon="ui-icon-search" actionListener="#{MBCajaChica.buscarListaCajaChica}" 
                                                     update="pnlListarCajaChica,dataTablaCajasChicas" oncomplete="listaCajaChica.show();buscar.toggle()"/> 
                                </p:column>
                            </p:row>

                        </p:panelGrid>                                                                                                                       

                    </p:panel>							   

                    <p:panel id="pnlListarCajaChica" header="Lista de Cajas Chicas"  widgetVar="listaCajaChica"
                             visible="#{(BKCajaChica.mostrarListaCajaChica eq null)?false:true}" closable="true"> 
                        <p:dataTable id="dataTablaCajasChicas" var="cajaChica" 
                                     value="#{BKCajaChica.mostrarListaCajaChica}" rendered="true"
                                     emptyMessage="No se encontraron cajas chicas disponibles"
                                     filteredValue="" rowIndexVar="rowIndex" paginator="true" rows="20"
                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                     {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     rowsPerPageTemplate="20,40,60" resizableColumns="true"
                                     scrollable="true" scrollHeight="250" style="width:100%" paginatorPosition="bottom" styleClass="datable-busqueda">

                            <p:column id="idColumnaNum" style="width: 2%" 
                                      headerText="Nº">
                                <h:outputText value="#{rowIndex+1}" />
                            </p:column>

                            <p:column id="idColumnaSede" style="width: 10%" sortBy="#{cajaChica.idSede.nombre}" 
                                      headerText="Sede">
                                <h:outputText value="#{cajaChica.idSede.nombre}" />
                            </p:column>

                            <p:column id="idCodigoCaja" style="width: 10%;"
                                      headerText="Codigo Caja">
                                <h:outputText value="#{cajaChica.nombre}"/>
                            </p:column>

                            <p:column id="idColumnaFecCreacionCajaChica" style="width: 10%;"
                                      sortBy="#{cajaChica.fechaApertura}" 
                                      headerText="Apertura">                                  
                                <h:outputText value="#{cajaChica.fechaApertura}">
                                    <f:convertDateTime pattern="dd/MM/yyyy"  />
                                </h:outputText>                                    
                            </p:column>

                            <p:column id="idColumnaMoneda" style="width: 10%;" sortBy="#{cajaChica.moneda.nombre}"                                        
                                      headerText="Moneda" filterBy="">
                                <h:outputText value="#{cajaChica.moneda.nombre}"/>

                            </p:column>

                            <p:column id="idColumnaMonto" style="width: 10%;"
                                      sortBy="#{cajaChica.montoApertura}" 
                                      headerText="Monto">
                                <h:outputText value="#{cajaChica.montoApertura}">
                                    <f:convertNumber maxFractionDigits="2" minFractionDigits="2" type="currency"
                                                     currencySymbol="#{cajaChica.moneda.simbolo}"/>
                                </h:outputText>
                            </p:column>

                            <p:column id="idColumnaSaldo" style="width: 10%;"
                                      sortBy="#{cajaChica.saldoCaja}"
                                      headerText="Saldo">
                                <h:outputText value="#{cajaChica.saldoCaja}">
                                    <f:convertNumber maxFractionDigits="2" minFractionDigits="2"  groupingUsed="true" type="currency"
                                                     currencySymbol="#{cajaChica.idMovimientoCuentaBancaria.idCuentaBancaria.idTipoMoneda.nombre eq 'SOLES'?'S/.':
                                                                       cajaChica.idMovimientoCuentaBancaria.idCuentaBancaria.idTipoMoneda.nombre eq 'DOLARES'?'$':null}"/>
                                </h:outputText>
                            </p:column>

                            <p:column id="idColumnaEstado" style="width: 10%;"
                                      sortBy="" 
                                      headerText="Estado">
                                <h:outputText value="#{cajaChica.estadoCaja eq 'A'?'ABIERTA':'CERRADA'}"/>
                            </p:column>

                            <p:column id="idColumnaNroDocumento" style="width: 8%;"
                                      headerText="Nro. Cheque">
                                <h:outputText value="#{cajaChica.numeroDocumento}" />
                            </p:column>

                            <p:column id="idColumnaFechaEmision" style="width: 10%;" 
                                      sortBy="#{cajaChica.fechaEmisionCheque}" 
                                      headerText="Emisión Cheque">
                                <center> 
                                    <h:outputText value="#{cajaChica.fechaEmisionCheque}">
                                        <f:convertDateTime pattern="dd/MM/yyyy" />
                                    </h:outputText>
                                </center>    
                            </p:column>

                            <p:column id="idAccionesCajaChica" headerText="#{message['general.label.tipoAcesso']}" style="width: 10%" exportable="false">
                                <center>
                                    <p:commandButton icon="ui-icon-search" title="ver movimientos" action="#{MBCajaChica.ver()}" immediate="true" ajax="false">
                                        <f:setPropertyActionListener value="#{cajaChica}" target="#{BKCajaChica.cajaChicaFormulario}" />  
                                    </p:commandButton>

                                    <p:commandButton icon="#{cajaChica.estadoCaja eq 'A' ?'ui-icon-unlocked':'ui-icon-locked'}" title="#{cajaChica.estadoCaja eq 'A' ?'cerrar caja':'caja cerrada'}" process="@this"
                                                     oncomplete="confirmacion2.show()" disabled="#{cajaChica.estadoCaja=='A' ?false:true}" >
                                        <f:setPropertyActionListener value="#{cajaChica}" target="#{BKCajaChica.cajaChicaSeleccionado}" />  
                                    </p:commandButton>                                                                   

                                    <p:commandButton icon="ui-icon-trash" id="btnEliminarCajaChica" title="#{message['general.button.eliminar']}"
                                                     oncomplete="confirmacion.show()" process="@this" disabled="#{cajaChica.esAnulable()}">
                                        <f:setPropertyActionListener value="#{cajaChica}" target="#{BKCajaChica.cajaChicaSeleccionado}" />
                                    </p:commandButton>
                                </center> 
                            </p:column>

                        </p:dataTable>										                
                    </p:panel> 

                    <p:confirmDialog id="dlgEliminarCajaChica" message="¿Esta seguro que desea eliminar la caja chica?" 
                                     header="Eliminar Caja Chica" severity="alert" widgetVar="confirmacion">

                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnSiEli" value="Si" update="dataTablaCajasChicas" oncomplete="confirmacion.hide()"
                                             actionListener="#{MBCajaChica.eliminar}" process="@this" />                                                                                                                                                            

                            <p:commandButton id="btnNoEli" value="No" onclick="confirmacion.hide()"/>                                          

                        </h:panelGrid>

                    </p:confirmDialog>

                    <p:confirmDialog id="dlgCerrarCajaChica" message="¿Desea cerrar esta caja chica?" 
                                     header="Cerrar Caja" severity="alert" widgetVar="confirmacion2">


                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnSiCerrar" value="Si" update="dataTablaCajasChicas" oncomplete="confirmacion2.hide()"
                                             actionListener="#{MBCajaChica.cerrarCajaChica}" process="@this" />                                                                                                                                                            

                            <p:commandButton id="btnNoCerrar" value="No" onclick="confirmacion2.hide()"/>                                          

                        </h:panelGrid>

                    </p:confirmDialog>

                </h:form> 

            </f:view>
        </ui:define>

    </ui:composition>
</html> 













